define(['jquery', 'layer', 'jquery.metisMenu', 'jquery.slimscroll'], function($, layer) {
	
	layer.config({
		path: '/components/layer/3.0.1/'
	});
	
	$(document).ready(function() {

		// MetsiMenu
		$('#side-menu').metisMenu();

		// 打开右侧边栏
		$('.right-sidebar-toggle').click(function() {
			$('#right-sidebar').toggleClass('sidebar-open');
		});

		// 右侧边栏使用slimscroll
		$('.sidebar-container').slimScroll({
			height : '100%',
			railOpacity : 0.4,
			wheelStep : 10
		});

		// 打开聊天窗口
		$('.open-small-chat').click(function() {
			$(this).children().toggleClass('fa-comments').toggleClass('fa-remove');
			$('.small-chat-box').toggleClass('active');
		});

		// 聊天窗口使用slimscroll
		$('.small-chat-box .content').slimScroll({
			height : '234px',
			railOpacity : 0.4
		});

		// Small todo handler
		$('.check-link').click(function() {
			var button = $(this).find('i');
			var label = $(this).next('span');
			button.toggleClass('fa-check-square').toggleClass('fa-square-o');
			label.toggleClass('todo-completed');
			return false;
		});

		//固定菜单栏
		$(function() {
			$('.sidebar-collapse').slimScroll({
				height : '100%',
				railOpacity : 0.9,
				alwaysVisible : false
			});
		});

		// 菜单切换
		$('.navbar-minimalize').click(function() {
			$("body").toggleClass("mini-navbar");
			SmoothlyMenu();
		});

		// 侧边栏高度
		function fix_height() {
			var heightWithoutNavbar = $("body > #wrapper").height() - 61;
			$(".sidebard-panel").css("min-height", heightWithoutNavbar + "px");
		}
		fix_height();

		$(window).bind("load resize click scroll", function() {
			if (!$("body").hasClass('body-small')) {
				fix_height();
			}
		});

		//侧边栏滚动
		$(window).scroll(function() {
			if ($(window).scrollTop() > 0 && !$('body').hasClass('fixed-nav')) {
				$('#right-sidebar').addClass('sidebar-top');
			} else {
				$('#right-sidebar').removeClass('sidebar-top');
			}
		});

		$('.full-height-scroll').slimScroll({
			height : '100%'
		});

		$('#side-menu>li').click(function() {
			if ($('body').hasClass('mini-navbar')) {
				NavToggle();
			}
		});
		$('#side-menu>li li a').click(function() {
			if ($(window).width() < 769) {
				NavToggle();
			}
		});

		$('.nav-close').click(NavToggle);

		//ios浏览器兼容性处理
		if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
			$('#content-main').css('overflow-y', 'auto');
		}

	});
	
	//主题设置
	$(function() {

		// 顶部菜单固定
		$('#fixednavbar').click(function() {
			if ($('#fixednavbar').is(':checked')) {
				$(".navbar-static-top").removeClass('navbar-static-top').addClass('navbar-fixed-top');
				$("body").removeClass('boxed-layout');
				$("body").addClass('fixed-nav');
				$('#boxedlayout').prop('checked', false);

				if (localStorageSupport) {
					localStorage.setItem("boxedlayout", 'off');
				}

				if (localStorageSupport) {
					localStorage.setItem("fixednavbar", 'on');
				}
			} else {
				$(".navbar-fixed-top").removeClass('navbar-fixed-top').addClass('navbar-static-top');
				$("body").removeClass('fixed-nav');

				if (localStorageSupport) {
					localStorage.setItem("fixednavbar", 'off');
				}
			}
		});

		// 收起左侧菜单
		$('#collapsemenu').click(function() {
			if ($('#collapsemenu').is(':checked')) {
				$("body").addClass('mini-navbar');
				SmoothlyMenu();

				if (localStorageSupport) {
					localStorage.setItem("collapse_menu", 'on');
				}

			} else {
				$("body").removeClass('mini-navbar');
				SmoothlyMenu();

				if (localStorageSupport) {
					localStorage.setItem("collapse_menu", 'off');
				}
			}
		});

		// 固定宽度
		$('#boxedlayout').click(function() {
			if ($('#boxedlayout').is(':checked')) {
				$("body").addClass('boxed-layout');
				$('#fixednavbar').prop('checked', false);
				$(".navbar-fixed-top").removeClass('navbar-fixed-top').addClass('navbar-static-top');
				$("body").removeClass('fixed-nav');
				if (localStorageSupport) {
					localStorage.setItem("fixednavbar", 'off');
				}


				if (localStorageSupport) {
					localStorage.setItem("boxedlayout", 'on');
				}
			} else {
				$("body").removeClass('boxed-layout');

				if (localStorageSupport) {
					localStorage.setItem("boxedlayout", 'off');
				}
			}
		});

		// 默认主题
		$('.s-skin-0').click(function() {
			$("body").removeClass("skin-1");
			$("body").removeClass("skin-2");
			$("body").removeClass("skin-3");
			return false;
		});

		// 蓝色主题
		$('.s-skin-1').click(function() {
			$("body").removeClass("skin-2");
			$("body").removeClass("skin-3");
			$("body").addClass("skin-1");
			return false;
		});

		// 黄色主题
		$('.s-skin-3').click(function() {
			$("body").removeClass("skin-1");
			$("body").removeClass("skin-2");
			$("body").addClass("skin-3");
			return false;
		});

		if (localStorageSupport) {
			var collapse = localStorage.getItem("collapse_menu");
			var fixednavbar = localStorage.getItem("fixednavbar");
			var boxedlayout = localStorage.getItem("boxedlayout");

			if (collapse == 'on') {
				$('#collapsemenu').prop('checked', 'checked')
			}
			if (fixednavbar == 'on') {
				$('#fixednavbar').prop('checked', 'checked')
			}
			if (boxedlayout == 'on') {
				$('#boxedlayout').prop('checked', 'checked')
			}
		}

		if (localStorageSupport) {

			var collapse = localStorage.getItem("collapse_menu");
			var fixednavbar = localStorage.getItem("fixednavbar");
			var boxedlayout = localStorage.getItem("boxedlayout");

			var body = $('body');

			if (collapse == 'on') {
				if (!body.hasClass('body-small')) {
					body.addClass('mini-navbar');
				}
			}

			if (fixednavbar == 'on') {
				$(".navbar-static-top").removeClass('navbar-static-top').addClass('navbar-fixed-top');
				body.addClass('fixed-nav');
			}

			if (boxedlayout == 'on') {
				body.addClass('boxed-layout');
			}
		}
	});
	
	$(window).bind("load resize", function() {
		if ($(this).width() < 769) {
			$('body').addClass('mini-navbar');
			$('.navbar-static-side').fadeIn();
		}
	});
})

function NavToggle() {
	$('.navbar-minimalize').trigger('click');
}

function SmoothlyMenu() {
	if (!$('body').hasClass('mini-navbar')) {
		$('#side-menu').hide();
		setTimeout(
			function() {
				$('#side-menu').fadeIn(500);
			}, 100);
	} else if ($('body').hasClass('fixed-sidebar')) {
		$('#side-menu').hide();
		setTimeout(
			function() {
				$('#side-menu').fadeIn(500);
			}, 300);
	} else {
		$('#side-menu').removeAttr('style');
	}
}

//判断浏览器是否支持html5本地存储
function localStorageSupport() {
	return (('localStorage' in window) && window['localStorage'] !== null)
}

//打开页面
function layerShow(title,url,w,h){
	if (title == null || title == '') {
		title=false;
	};
	if (url == null || url == '') {
		url="/404";
	};
	if (w == null || w == '') {
		w=800;
	};
	if (h == null || h == '') {
		h=($(window).height() - 50);
	};
	layer.open({
		type: 2,
		area: [w+'px', h +'px'],
		fix: false,
		maxmin: true,
		shade:0.4,
		title: title,
		content: url
	});
}

//关闭页面
function layerClose(){
	var index = parent.layer.getFrameIndex(window.name);
	parent.layer.close(index);
}
